<template>
  <div>
    <!-- 分页 -->
    <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="queryInfo.pageNum"
            :page-sizes="[1, 2, 5, 10]"
            :page-size="queryInfo.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="Number(total)">
    </el-pagination>
  </div>
</template>

<script>
  export default {
    name: "Pagination",
    props: {
      queryInfo: {
        type: Object,
        default: () => ({
            pageNum: 1, // 当前页
            pageSize: 10 // 每页显示多少条数据
        })
      },
      total: {
        type: Number|String,
        default: 0
      }
    },
    methods: {
      // 监听pageSize改变的事件，并发送新的网络请求
      handleSizeChange(newSize) {
        this.$emit('page-size-change', newSize);
      },

      // 监听页码改变的事件，并发送新的网络请求
      handleCurrentChange(newPage) {
        this.$emit('current-page-change', newPage);
      }
    }
  }
</script>
